<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE root PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:c="http://java.sun.com/jstl/core">

	<h:outputText rendered="#{usuarioBean.saveState}">
		<div class="innerTitle">Cadastro de Usuário</div>
	</h:outputText>

	<h:outputText rendered="#{usuarioBean.updateState}">
		<div class="innerTitle">Atualização de Usuário</div>
	</h:outputText>

	<h:inputHidden value="#{usuarioBean.entity.id}" rendered="#{usuarioBean.updateState}"/>
	<h:inputHidden value="#{usuarioBean.entity.status}" rendered="#{usuarioBean.updateState}"/>

	<c:if test="#{!controlBean.administradorSistema}">
		<h:inputHidden value="#{usuarioBean.entity.cliente.id}" rendered="#{usuarioBean.updateState}"/>
	</c:if>

	<c:if test="#{!controlBean.administradorSistema}">
		<h:inputHidden value="#{usuarioBean.entity.senhaCorte}"/>
	</c:if>

	<rich:tabPanel switchType="client">

		<rich:tab label="Cadastro">

			<h:panelGrid columns="3" styleClass="crud" columnClasses="label">

				<h:outputLabel value="Nome :"/>
				<h:inputText id="nomeUsuario" value="#{usuarioBean.entity.nome}" required="true" maxlength="50" size="40" disabled="#{!controlBean.usuarioAdministrador}">
					<f:validateLength maximum="50"/>
					<rich:ajaxValidator event="onblur"/>
				</h:inputText>
				<rich:message for="nomeUsuario"/>

				<c:if test="#{controlBean.administradorSistema}">
					<h:outputLabel value="Cliente :"/>
					<h:selectOneMenu id="clienteUsuario" value="#{usuarioBean.entity.cliente.id}">
		  				<f:selectItems value="#{clienteBean.listaClientes}"/>
					</h:selectOneMenu>
					<rich:message for="clienteUsuario"/>
				</c:if>

				<h:outputLabel value="Email :"/>
				<h:inputText id="emailUsuario" value="#{usuarioBean.entity.emailUsuario}" required="true" maxlength="100" size="30" disabled="#{!controlBean.usuarioAdministrador}">
					<f:validateLength maximum="100"/>
					<rich:ajaxValidator event="onblur"/>
				</h:inputText>
				<rich:message for="emailUsuario"/>

				<h:outputLabel value="Login :"/>
				<h:inputText id="loginUsuario" value="#{usuarioBean.entity.login}" required="true" maxlength="15" size="15" disabled="#{!controlBean.usuarioAdministrador}">
					<f:validateLength maximum="15"/>
					<rich:ajaxValidator event="onblur"/>
				</h:inputText>
				<rich:message for="loginUsuario"/>

				<h:outputLabel>Senha: <font color="red">(4 a 15 caracteres)</font></h:outputLabel>
				<h:inputSecret id="senhaUsuario" value="#{usuarioBean.entity.senha}" onkeypress="exibirAvaliacao();" onfocus="exibirAvaliacao();" required="true" maxlength="15" size="15" redisplay="true">
					<f:validateLength maximum="15"/>
					<rich:ajaxValidator event="onblur"/>
					<div id="weightPasswd"><font color="red">(Ex.: ROTA@2009)</font></div>
					<table id="barraSenha" cellspacing="0" cellpadding="0" border="0" width="110">
					<tr>
						<td id="leftBar" height="10" bgcolor="#E0E0E0" width="0%"/>
						<td id="rightBar" height="10" bgcolor="#E0E0E0" width="100%"/>
					</tr>
					</table>
				</h:inputSecret>
				<rich:message for="senhaUsuario"/>

				<c:if test="#{controlBean.administradorSistema}">
					<h:outputLabel>Senha Corte/Esculta/Sirene: <font color="red">(4 a 10 caracteres)</font></h:outputLabel>
					<h:inputSecret id="senhaUsuarioCorte" value="#{usuarioBean.entity.senhaCorte}" required="false" maxlength="15" size="15" redisplay="true">
						<f:validateLength maximum="15"/>
						<rich:ajaxValidator event="onblur"/>
					</h:inputSecret>
					<rich:message for="senhaUsuarioCorte"/>
					<h:outputLabel value="Data Cadastro :" rendered="#{usuarioBean.updateState}"/>
					<rich:calendar id="dataCadastro" value="#{usuarioBean.entity.dataCadastro}" required="true" rendered="#{usuarioBean.updateState}" datePattern="dd/MM/yyyy"/>
					<rich:message for="dataCadastro" rendered="#{usuarioBean.updateState}"/>
				</c:if>

			</h:panelGrid>

		</rich:tab>

		<rich:tab label="Grupos" rendered="#{controlBean.usuarioAdministrador}">

			<h:panelGroup id="gruposUsuario" styleClass="innerFilter" layout="block">

				<c:if test="#{controlBean.administradorSistema}">
					<h:selectOneMenu id="listaClientes" value="#{usuarioBean.clienteGrupoId}">
			  			<f:selectItems value="#{clienteBean.listaClientes}"/>
			  			<a4j:support event="onchange" action="#{usuarioBean.populate}" reRender="gruposClienteId"/>
			  		</h:selectOneMenu>

					<h:selectOneMenu id="gruposClienteId" value="#{usuarioBean.grupo.id}">
			  			<f:selectItems value="#{usuarioBean.listaGruposByCliente}"/>
					</h:selectOneMenu>
				</c:if>

				<c:if test="#{controlBean.usuarioAdministrador and !controlBean.administradorSistema}">
					<h:selectOneMenu value="#{usuarioBean.grupo.id}" rendered="#{usuarioBean.grupoStatus}">
					  	<f:selectItems value="#{usuarioBean.listaGrupos}"/>
					</h:selectOneMenu>
				</c:if>

				<a4j:commandButton value="Adicionar" action="#{usuarioBean.addGrupo}" styleClass="button" reRender="gruposUsuario" disabled="#{!usuarioBean.grupoStatus}"/>

				<rich:dataTable rowClasses="even,odd" value="#{usuarioBean.entity.grupos}" var="grupo" rows="10">

					<h:column>
						<f:facet name="header"><h:outputLabel value="Grupos"/></f:facet>
						<h:outputText value="#{grupo.nome}"/>
					</h:column>

					<h:column headerClass="link">
						<a4j:commandLink action="#{usuarioBean.delGrupo}" reRender="popup">
							<h:graphicImage styleClass="link" alt="Excluir" url="/images/btn/delete.png"/>
							<f:setPropertyActionListener target="#{usuarioBean.grupo}" value="#{grupo}"/>
						</a4j:commandLink>
					</h:column>

		            <f:facet name="footer">
						<rich:datascroller renderIfSinglePage="false" reRender="gruposUsuario"/>
		            </f:facet>

				</rich:dataTable>

			</h:panelGroup>

		</rich:tab>

		<rich:tab label="Permissao" rendered="#{controlBean.usuarioAdministrador}">

			<h:panelGroup id="permissoesUsuario" styleClass="innerFilter" layout="block">

			<h:selectOneMenu id="permissoesCliente" value="#{usuarioBean.permissao.id}" rendered="#{usuarioBean.permissaoStatus}">
  				<f:selectItems value="#{usuarioBean.listaPermissoes}"/>
			</h:selectOneMenu>

			<a4j:commandButton value="Adicionar" action="#{usuarioBean.addPermissao}" styleClass="button" reRender="permissoesUsuario" disabled="#{!usuarioBean.permissaoStatus}"/>

				<rich:dataTable rowClasses="even,odd" value="#{usuarioBean.entity.permissoes}" var="permissao" rows="10">

					<h:column>
						<f:facet name="header"><h:outputLabel value="Permissões"/></f:facet>
						<h:outputText value="#{permissao.descricao}"/>
					</h:column>

					<h:column headerClass="link">
						<a4j:commandLink action="#{usuarioBean.delPermissao}" reRender="popup">
							<h:graphicImage styleClass="link" alt="Excluir" url="/images/btn/delete.png"/>
							<f:setPropertyActionListener target="#{usuarioBean.permissao}" value="#{permissao}"/>
						</a4j:commandLink>
					</h:column>

		            <f:facet name="footer">
						<rich:datascroller renderIfSinglePage="false" reRender="permissoesUsuario"/>
		            </f:facet>

				</rich:dataTable>

			</h:panelGroup>

		</rich:tab>

		<rich:tab label="Veículos" rendered="#{controlBean.usuarioAdministrador}">

			<h:panelGroup id="veiculosUsuario" styleClass="innerFilter" layout="block">

				<c:if test="#{controlBean.administradorSistema}">
			  		<h:selectOneMenu value="#{usuarioBean.clienteVeiculoId}">
			  			<f:selectItems value="#{clienteBean.listaClientes}"/>
			  			<a4j:support event="onchange" action="#{usuarioBean.populate}" reRender="usuarioVeiculoId"/>
					</h:selectOneMenu>
					<h:selectOneMenu id="usuarioVeiculoId" value="#{usuarioBean.veiculo.id}">
				 		<f:selectItems value="#{usuarioBean.listaVeiculosByCliente}" />
					</h:selectOneMenu>
				</c:if>

				<c:if test="#{controlBean.usuarioAdministrador and !controlBean.administradorSistema}">
					<h:selectOneMenu id="usuarioVeiculoId" value="#{usuarioBean.veiculo.id}" rendered="#{usuarioBean.veiculoStatus}">
				 		<f:selectItems value="#{usuarioBean.listaVeiculos}" />
					</h:selectOneMenu>
				</c:if>

				<a4j:commandButton value="Adicionar" action="#{usuarioBean.addVeiculo}" styleClass="button" reRender="veiculosUsuario" disabled="#{!usuarioBean.veiculoStatus}"/>

				<rich:dataTable rowClasses="even,odd" value="#{usuarioBean.entity.veiculos}" var="veiculo" rows="10">

					<h:column>
						<f:facet name="header"><h:outputLabel value="Veículos"/></f:facet>
						<h:outputText value="#{veiculo.nome}"/>
					</h:column>

					<h:column headerClass="link">
						<a4j:commandLink action="#{usuarioBean.delVeiculo}" reRender="popup">
							<h:graphicImage styleClass="link" alt="Excluir" url="/images/btn/delete.png"/>
							<f:setPropertyActionListener target="#{usuarioBean.veiculo}" value="#{veiculo}"/>
						</a4j:commandLink>
					</h:column>

			        <f:facet name="footer">
						<rich:datascroller renderIfSinglePage="false" reRender="veiculosUsuario"/>
			         </f:facet>

				</rich:dataTable>

			</h:panelGroup>

		</rich:tab>

	</rich:tabPanel>

	<br/>

	<a4j:commandButton value="Inserir" type="submit" action="#{usuarioBean.save}" styleClass="button" rendered="#{usuarioBean.saveState}" reRender="popup"/>
	<a4j:commandButton value="Atualizar" type="submit" action="#{usuarioBean.update}" styleClass="button" rendered="#{usuarioBean.updateState and controlBean.usuarioAdministrador}"  reRender="popup"/>
	<a4j:commandButton value="Trocar Senha" type="submit" action="#{usuarioBean.trocarSenha}" styleClass="button" rendered="#{usuarioBean.updateState and (!controlBean.usuarioAdministrador)}"  reRender="popup"/>
	<a4j:commandButton value="Voltar" type="submit" action="#{usuarioBean.search}" styleClass="button" immediate="true"  reRender="popup"/>

</ui:composition>